using System;
using System.Collections.Generic;
using Sustainalytics.ESG.Entities;

namespace Sustainalytics.ESGRatings.BusinessLogic
{
    public interface IKeyEsgIssuesRepository
    {
        CompanyKeyESGIssue GetKeyEsgIssuesByCompanyId(Guid companyId);

        List<SubPeerGroupKeyEsgIssue> GetKeyEsgIssuesBySubPeerGroup(int subPeerGroupId);

        void UpdateIndicatorByCompanyIdAndIndicatorNumber(Guid companyId, IList<KeyIndicatorData> datas);
    }

    public class KeyIndicatorData
    {
        public string IndicatorNumber { get; set; }

        public string CompanyScore { get; set; }

        public string Average { get; set; }

        public string BestPractice { get; set; }

        public int MaterialBestPractice { get; set; }

        public string AnswerCategory { get; set; }

        public override string ToString()
        {
            return string.Format("IndicatorNumber: {0}, CompanyScore: {1}, Average: {2}, BestPractice: {3}, MaterialBestPractice: {4}, AnswerCategory: {5}", IndicatorNumber, CompanyScore, Average, BestPractice, MaterialBestPractice, AnswerCategory);
        }
    }
}
